5.2.1 网络与蓝牙配置
本章节主要介绍开发板有线、无线网络配置的修改方法。
有线网络:RDK X5(>= 3.3.0)RDK X3(>= 3.0.2)
开发板有线网络默认采用静态IP配置,初始IP地址为192.168.127.10。用户可通过如下方法实现静态、DHCP模式的切换。
[shell]修改静态IP配置
开发板静态网络配置保存在/etc/NetworkManager/system-connections/netplan-eth0.nmconnection文件中,通过修改address1字段,可完成对静态IP配置的修改,route-metri是网络优先级配置,设置为700是为了让有线网络的优先级更低,当有线和无线网络同时使能时优先会使用无线网络。
sudo vim /etc/NetworkManager/system-connections/netplan-eth0.nmconnection
[connection]
id=netplan-eth0
uuid=f6f8b5a7-9e23-49b2-a792-dc589b3d3e88
type=ethernet
interface-name=eth0
timestamp=1754294545
[ethernet]
wake-on-lan=0
[ipv4]
address1=192.168.127.10/24,192.168.127.1
dns=8.8.8.8;8.8.4.4;
method=manual
route-metric=700
[ipv6]
addr-gen-mode=eui64
method=ignore
[proxy]
修改完成后,命令行输入sudo restart_network命令让配置生效。
[shell]修改DHCP配置
修改[ipv4]字段,只保留method=auto和route-metric=700
[ipv4]
method=auto
route-metric=700
修改完成后,命令行输入sudo restart_network命令让配置生效。
[shell]修改MAC地址配置
修改[ethernet]字段,添加cloned-mac-address=12:34:56:78:9A:BA
[ethernet]
cloned-mac-address=12:34:56:78:9A:BA
wake-on-lan=0
修改完成后,reboot重启让配置生效。
[桌面]修改静态IP配置



[桌面]修改DHCP配置

[桌面]修改MAC地址配置

[桌面]配置生效
点选netplan-eth0,配置生效。

有线网络:RDK X5(< 3.3.0)RDK X3(< 3.0.2)
Video: https://www.bilibili.com/video/BV1rm4y1E73q/?p=11
开发板有线网络默认采用静态IP配置,初始IP地址为192.168.127.10。用户可通过如下方法实现静态、DHCP模式的切换。
修改静态IP配置
开发板静态网络配置保存在/etc/network/interfaces文件中,通过修改address、netmask、gateway等字段,可完成对静态IP配置的修改,metric是网络优先级配置,设置为700是为了让有线网络的优先级更低,当有线和无线网络同时使能时优先会使用无线网络,例如:
sudo vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0
iface eth0 inet static
pre-up /etc/set_mac_address.sh
address 192.168.127.10
netmask 255.255.255.0
gateway 192.168.127.1
metric 700
修改完成后,命令行输入sudo restart_network命令让配置生效。
修改DHCP配置
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
开发板的DHCP网络配置保存在/etc/network/interfaces文件,通过修改eth0相关配置,可完成对DHCP模式的修改,例如:
sudo vim /etc/network/interfaces
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
metric 700
修改完成后,命令行输入sudo restart_network命令让配置生效。
修改MAC地址配置
如需修改开发板默认MAC地址,可通过在/etc/network/interfaces文件中增加pre-up配置信息,指定用户需要的MAC地址,例如:
sudo vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0
iface eth0 inet static
pre-up /etc/set_mac_address.sh
address 192.168.127.10
netmask 255.255.255.0
gateway 192.168.127.1
metric 700
pre-up ifconfig eth0 hw ether 00:11:22:9f:51:27
修改完成后,reboot重启让配置生效。
无线网络
Video: https://www.bilibili.com/video/BV1rm4y1E73q/?p=12
开发板集成了2.4GHz无线WiFi模块,支持Soft AP和Station两种模式,默认运行在Station模式下。下面介绍两种模式的使用方法。
Station模式
Station模式下,开发板作为客户端,接入路由器无线热点进行联网。
-
对于使用Ubuntu Desktop版本系统的用户,可点击桌面右上角Wi-Fi图标,选择对应热点并输入密码以完成网络配置,如下图:

-
对于使用Ubuntu Server版本系统的用户,可通过命令行完成无线网络配置,步骤如下:
-
使用
sudo nmcli device wifi rescan命令扫描热点。如返回如下信息,说明扫描过于频繁,需要稍后再试root@ubuntu:~# sudo nmcli device wifi rescan
Error: Scanning not allowed immediately following previous scan. -
使用
sudo nmcli device wifi list命令列出扫描到的热点 -
使用
sudo wifi_connect "SSID" "PASSWD"命令连接热点,返回如下信息,说明网络连接成功root@ubuntu:~# sudo wifi_connect "WiFi-Test" "12345678"
Device 'wlan0' successfully activated with 'd7468833-4195-45aa-aa33-3d43da86e1a7'.提示如果连接热点后,返回如下信息,说明热点没有找到,可以执行
sudo nmcli device wifi rescan命令重新扫描后再次连接root@ubuntu:~# sudo wifi_connect "WiFi-Test" "12345678"
Error: No network with SSID 'WiFi-Test' found.
Soft AP模式
开发板无线网络默认运行在Station模式下,如需使用Soft AP模式,请按照以下步骤进行配置。
-
安装
hostapd和isc-dhcp-serversudo apt update
sudo apt install hostapd
sudo apt install isc-dhcp-server -
运行
sudo vim /etc/hostapd.conf命令来配置hostapd.conf,主要关注下面几个字段:interface=wlan0 #作为AP热点的网卡
ssid=Sunrise #WiFi名字
wpa=2 #0为WPA 2为WPA2 一般为2
wpa_key_mgmt=WPA-PSK #加密算法 一般为WPA-PSK
wpa_passphrase=12345678 #密码
wpa_pairwise=CCMP #加密协议,一般为CCMP- 无密码的热点配置,请在
hostapd.conf文件添加以下内容:
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=Sunrise
channel=6
ieee80211n=1
hw_mode=g
ignore_broadcast_ssid=0- 有密码的热点配置,请在
hostapd.conf文件添加以下内容:
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=Sunrise
channel=6
ieee80211n=1
hw_mode=g
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=12345678 - 无密码的热点配置,请在
-
配置
isc-dhcp-server文件,步骤如下:- 执行
sudo vim /etc/default/isc-dhcp-server修改isc-dhcp-server文件,添加如下定义的网络接口:
INTERFACESv4="wlan0"- 执行
sudo vim /etc/dhcp/dhcpd.conf修改dhcpd.conf文件, 取消以下字段的注释:
authoritative;- 然后在
/etc/dhcp/dhcpd.conf文件末尾增加以下配置:
subnet 10.5.5.0 netmask 255.255.255.0 { #网段和子网掩码
range 10.5.5.100 10.5.5.254;#可获取的IP范围
option subnet-mask 255.255.255.0; #子网掩码
option routers 10.5.5.1;#默认网关
option broadcast-address 10.5.5.31;#广播地址
default-lease-time 600;#默认租约期限,单位秒
max-lease-time 7200;#最长租约期限,单位秒
} - 执行
-
停止
wpa_supplicant服务,并重启wlan0systemctl mask wpa_supplicant
systemctl stop wpa_supplicant
ip addr flush dev wlan0
sleep 0.5
ifconfig wlan0 down
sleep 1
ifconfig wlan0 up -
按如下步骤启动
hostapd服务- 执行
sudo hostapd -B /etc/hostapd.conf命令
root@ubuntu:~# sudo hostapd -B /etc/hostapd.conf
Configuration file: /etc/hostapd.conf
Using interface wlan0 with hwaddr 08:e9:f6:af:18:26 and ssid "sunrise"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED- 通过
ifconfig命令,配置无线接口wlan0的IP和网段,注意要跟第三步的配置保持一致
sudo ifconfig wlan0 10.5.5.1 netmask 255.255.255.0- 最后开启
dhcp服务器,连上热点会从10.5.5.100到10.5.5.255之间分配一个ip地址给客户端
sudo ifconfig wlan0 10.5.5.1 netmask 255.255.255.0
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server - 执行
-
连接开发板热点,例如
sunrise

-
如需切换回
Station模式,可按如下方式进行:[RDK X5]
# 停止 hostapd
killall -9 hostapd
# 清除 wlan0 的地址
ip addr flush dev wlan0
sleep 0.5
ifconfig wlan0 down
sleep 1
ifconfig wlan0 up
# 重启 wpa_supplicant
systemctl unmask wpa_supplicant
systemctl restart wpa_supplicant
#重装wifi驱动
rmmod aic8800_fdrv
modprobe aic8800_fdrv
# 连接热点,,具体操作可以查看上一章节 “无线网络”
wifi_connect "WiFi-Test" "12345678"[Other]
# 停止 hostapd
killall -9 hostapd
# 清除 wlan0 的地址
ip addr flush dev wlan0
sleep 0.5
ifconfig wlan0 down
sleep 1
ifconfig wlan0 up
# 重启 wpa_supplicant
systemctl unmask wpa_supplicant
systemctl restart wpa_supplicant
# 连接热点,,具体操作可以查看上一章节 “无线网络”
wifi_connect "WiFi-Test" "12345678"
DNS服务
Video: https://www.bilibili.com/video/BV1rm4y1E73q/?p=13
DNS(Domain Name Server)是进行域名(domain name)和与之相对应的IP地址转换的服务器。
开发板DNS配置通过/etc/systemd/resolved.conf文件管理,用户可通过修改该文件完成DNS相关配置,步骤如下:
-
修改
resolved.conf文件,添加DNS服务器地址,例如:DNS=8.8.8.8 114.114.114.114 -
通过如下命令,使能DNS配置:
sudo systemctl restart systemd-resolved
sudo systemctl enable systemd-resolved
sudo mv /etc/resolv.conf /etc/resolv.conf.bak
sudo ln -s /run/systemd/resolve/resolv.conf /etc/
系统更新
出于系统安全、稳定性的考虑,推荐用户安装完系统后,通过apt命令对系统进行更新。
在/etc/apt/source.list文件中,保存了apt命令的软件源列表,在安装软件前,需要先通过apt命令更新package列表。
首先打开终端命令行,输入如下命令:
sudo apt update
其次,升级所有已安装的软件包到最新版本,命令如下:
sudo apt full-upgrade
推荐使用full-upgrade而不是upgrade选项,这样当相关依赖发生变动时,也会同步更新依赖包。
当运行sudo apt full-upgrade命令时,系统会提示数据下载和磁盘占用大小,但是apt不会检查磁盘空间是否充足,建议用户通过df -h命令手动检查。此外,升级过程中下载的deb文件会保存在/var/cache/apt/archives目录中,用户可以通过sudo apt clean命令删除缓存文件以释放磁盘空间。
执行apt full-upgrade命令后,可能会重新安装驱动、内核文件和部分系统软件,建议用户手动重启设备使更新生效,命令如下:
sudo reboot
蓝牙配置
从 3.0.0 系统开始,蓝牙默认随系统启动,无需手动重复初始化。在 RDK X3 和 RDK X5 平台上均保持一致。
初始化
如果开发板蓝牙功能默认没有开启,hciconfig查看不到设备,可以执行 /usr/bin/startbt.sh脚本进行初始化,该脚本完成以下工作:
- 完成蓝牙初始化
- 执行
hciconfig hci0 up完成蓝牙的Link Up - 执行
hciconfig hci0 piscan进行蓝牙扫描
Video: https://www.bilibili.com/video/BV1rm4y1E73q/?p=9
脚本执行成功后的log如下:

此外,用户可以使用命令查询蓝牙进程是否正常,命令如下:
ps ax | grep "/usr/bin/dbus-daemon\|/usr/lib/bluetooth/bluetoothd"
/usr/bin/dbus-daemon
/usr/lib/bluetooth/bluetoothd
通信接口
为充分发挥开发板的扩展能力,当前硬件设计已集成多样化的接口与外设资源。
受限于接口布局及硬件资源分配,开发板未能完整复现蓝牙模组的所有通信接口。
目前仅提供 BT_RX BT_TX 双线模式,可满足无实时性要求的 AT 指令交互与数据传输等基础功能。
基于 UART 接口的蓝牙模组,不同接口连接方式及对应功能如下:
- 基础通信模式(UART Only)
-
- 接口引脚:
BT_RXBT_TX
- 接口引脚:
-
- 功能特性:基于UART的异步串行数据通信(如AT指令交互、低速率数据传输),无流控机制,在波特率超载或持续大数据量传输时,存在数据包丢失及缓冲区溢出风险。
- 增强型传输模式(增加硬件流控)
-
- 接口引脚:
BT_RXBT_TXBT_CTSBT_RTS
- 接口引脚:
-
- 功能特性:可有效避免数据包丢失及缓冲区溢出风险,支持A2DP高保真单向音频流传输。
- 语音通信模式(PCM同步接口)
-
- 接口引脚:
PCM_SYNCPCM_DINPCM_CLKPCM_DOUT
- 接口引脚:
-
- 功能特性:支持基于SCO链路的实时双向音频传输,比如HPF/HSP
USB蓝牙
如需深入使用蓝牙功能,例如在 SPP(蓝牙虚拟串口) 模式下实现高速稳定通信、在 PAN(蓝牙虚拟网卡) 模式下保证带宽质量,或在 A2DP(高保真单向音频流) 模式下避免音频中断,建议优先使用 USB 接口蓝牙模块。
开发板已集成 USB2.0-BT、CSR8510 A10 等常见蓝牙驱动,可直接支持大部分免固件的 USB 蓝牙模组。



对于 Realtek 系列蓝牙模组,则需要额外的固件支持。请向模组厂家获取适配 Linux 平台 的固件,并将其放置到指定目录后,方可正常使用。
配网连接
执行sudo bluetoothctl进入交互模式下的蓝牙配置界面,出现了类似下图的设备信息表示蓝牙被识别到了,然后用show来查看蓝牙信息,留意蓝牙的powered和discoverable状态。

执行 power on 使能蓝牙,如下图所示:

为了能够使蓝牙被附近的设备发现,需要执行discoverable on使能蓝牙并打开蓝牙可发现属性,如下图所示:

此时使用手机或者电脑扫描蓝牙就可以发现 ubuntu 这个名称的蓝牙设备:

接下来测试蓝牙的主动扫描功能,在bluetoothctl的交互界面输入scan on即可打开主动扫描,它会周期性地打印附近的设备,可以看到已经发现了我的手机设备,scan off关闭扫描功能并汇总打印扫描到的蓝牙设备:


然后就是和其他蓝牙的配对:
-
配对命令:
pair [targetMAC],输入该命令后,根据提示输入yes,对端蓝牙设备选择配对选项完成配对 。 -
配对成功后可以使用
trust [targetMAC]来让下次自动连接

经过以上操作后,蓝牙的扫描、配对的基本功能就完成了,如需使用更多功能,可查阅 BlueZ的官方帮助说明。